#ifndef LZ78_H_
#define LZ78_H_

#include <stdio.h>
#include "../bit.h"

#define LZ78ID	"lz78"

typedef struct {
	char id[4];	//Identifiant du fichier
	int	bufLen;	//Longueur du buffer a utiliser pour la décompression
	size_t oriSize; //taille du fichier original (non compressé)
}lz78header;

//Initialisation de LZ78
extern void	LZ78_init();
extern void LZ78_encode(bitbuf_t * dst, bitbuf_t * src);
extern void LZ78_decode(bitbuf_t * dst, bitbuf_t * src);
extern void LZ78_compress(FILE * out, FILE * in);
extern void LZ78_decompress(FILE * out, FILE * in);


#endif /* LZ78_H_ */
